# 关键字：tuple
"""
tuple1 = (1,)
print(tuple1)
print(type(tuple1))
"""
# 没有加逗号，只有一个值
"""
tupl2 = (1)     # 这个就不是元组
print(tupl2)
print(type(tupl2))
"""

# 元组支持索引、切片
tuple3 = (10,20,30,40,50,60)
#         0  1  2   3  4  5
#         -6 -5 -4 -3 -2 -1
# print(tuple3[4])        # 50
# print(tuple3[:4:2]) # (10,30)
# print(tuple3[::-1])

# 元组不支持修改
"""
tuple4 = (10,20,30,40)
tuple4[0] = 90
print(tuple4)       # 会报错，元组不支持修改
"""

# 有一个误区：如果元组中包含了可变数据类型，可变这部分是仍然可以修改的
"""
tuple5 = (10,20,30,[40,50])
tuple5[-1][0] = 90
print(tuple5)
"""

# 元组的内置方法
tuple6 = (10,20,30,10)
# 统计10出现的次数
# print(tuple6.count(10))
# 找到要查的数字所在索引（如果有重复的，找到第一次出现的位置）
# print(tuple6.index(10))

# 循环访问
"""
for i in tuple6:
    print(i)
"""
# 根据索引来循环
"""
for i in range(len(tuple6)):
    print(tuple6[i])
"""

# 使用枚举遍历
"""
for index,value in enumerate(tuple6):
    print(index,value)
"""

# 元组总结
"""
1、元组是不可变的数据类型
2、元组支持切片、支持索引访问
3、如果一个元组中只包含一个成员，要加上逗号，才会被识别成元组
tupl2 = (1)     # 这个就不是元组
print(tupl2)
print(type(tupl2))
4、元组中如果包含可变的数据类型，可变的这部分是可以进行修改的
tuple5 = (10,20,30,[40,50])
tuple5[-1][0] = 90
print(tuple5)
"""
